package com.baichang.taoshunda.dao;

import com.baichang.framework.dao.BaseDao;
import com.baichang.framework.excelption.DBException;
import com.baichang.taoshunda.entity.Address;

import java.util.List;
import java.util.Map;

public interface AddressDao extends BaseDao<Address> {
    /**
     * 查询用户地址
     *
     * @param userId 用户编号
     * @return
     */
    List<Map<String, Object>> getAddressList(int userId);

    /**
     * 设置非默认
     * 设置该用户的所有地址不为默认地址
     *
     * @param userId 用户编号
     */
    boolean editDeliverAddressIsNoDefalut(int userId) throws DBException;

    /**
     * 把地址修改为删除状态
     *
     * @param id
     * @return
     */
    boolean deleteDeliveryAddressById(Long id);

    /**
     * 修改地址为默认状态
     *
     * @param id
     * @return
     */
    boolean updateDefaultAddress(Integer id);

    /**
     * 获取默认地址
     *
     * @param userId 用户编号
     * @return
     */
    Map<String, Object> getDefaultAddress(Integer userId);

    /**
     * 修改地址
     *  @param userId
     * @param address
     * @param isDefault
     * @param name
     * @param telephone
     * @param area
     * @param id
     * @param houseNumber
     * @param ulng
     * @param ulat @return
     * @param cityId
     * @param areaId
     * */
    int updateAddress(int userId, String address, int isDefault, String name, String telephone, String area, int id, String houseNumber, double ulng, double ulat, int cityId, int areaId);
}